#ifndef DATA_MODEL_HPP
#define DATA_MODEL_HPP

#include <string>
#include <functional>
#include <unordered_map>
#include <sstream>
#include <iostream>

class DataModel {
public:
    DataModel(){

    }
    virtual ~DataModel(){

    }
    virtual std::string executeCommand(const std::string& command, std::istringstream& iss) = 0;
    virtual void initCommandMap() = 0;

protected:
    std::unordered_map<std::string, std::function<std::string(std::istringstream&)>> commandMap;
};

#endif // DATA_MODEL_HPP